package com.ss.file;

import java.io.File;
import java.io.IOException;

/**
 * @Auther: 520ljs
 * @Date: 2022/3/18 - 03 - 18 - 11:01
 */
public class Test01 {
    //这是一个main方法，是程序的入口
    public static void main(String[] args) throws IOException {
        //将文件封装为一个File类的对象：
        File f = new File("E:\\WorkSpace\\Java\\ss\\test.txt");
        File f2 = new File("E:/WorkSpace/Java/ss/test.txt");
        File f3 = new File("E:" + File.separator + "WorkSpace" + File.separator + "Java" + File.separator + "ss" + File.separator + "test.txt");//建议使用这种

        //常用方法：
        System.out.println("文件是否可读：" + f.canRead());
        System.out.println("文件是否可写：" + f.canWrite());
        System.out.println("文件的名字：" + f.getName());
        System.out.println("上级目录：" + f.getParent());
        System.out.println("是否是一个目录：" + f.isDirectory());
        System.out.println("是否是一个文件：" + f.isFile());
        System.out.println("是否隐藏：" + f.isHidden());
        System.out.println("文件的大小：" + f.length());
        System.out.println("是否存在：" + f.exists());

        if(f.exists()){//如果文件存在，将文件删除
            f.delete();
        }else{//如果不存在，就创建这个文件
            f.createNewFile();
        }
        System.out.println(f == f2); //比较两个对象的地址
        System.out.println(f.equals(f2)); //比较两个对象对应的文件路径

        //跟路径相关的：
        System.out.println("绝对路径：" + f.getAbsolutePath());
        System.out.println("相对路径：" + f.getPath());
        System.out.println("toString:" + f.toString());

        System.out.println("--------------------");
        File f4 = new File("demo.txt");
        if (!f4.exists()) {
            f4.createNewFile();
        }
        //绝对路径指的是：真实的一个精准的，完整的路径
        System.out.println("绝对路径：" + f4.getAbsolutePath());
        //相对路径：有一个参照物，相对这个参照物的路径
        //在main方法中，相对位置指的就是：D:\WorkSpace_Java\Source_code\IDEA_workspace\TestJavaSE
        System.out.println("相对路径：" + f4.getPath());
        //toString的效果永远是 相对路径
        System.out.println("toString:" + f4.toString());

        System.out.println("--------------------");
        File f5 = new File("a/b/c/demo.txt");
        if(!f5.exists()){
            f5.createNewFile();
        }
        System.out.println("绝对路径：" + f5.getAbsolutePath());
        System.out.println("相对路径：" + f5.getPath());
    }
}
